package uds.data;

import java.util.HashMap;

import uds.geoloc.R;
import android.content.Context;

/* Classe initialisant une hashmap qui va faire le lien entre une ressource (batiment, salle, acces_bus) 
 * avec son icone associée et son nom affiché (différent en fonction des langues*/


public class HashMapRessources
{
	// Utilisation d'une instance static que l'on initialise dans la méthode juste après
	private static HashMap<String, InformationRessource> hash_ressource;
	
	// Méthode permettant d'initialiser la hashmap
	public static void initialisationHashMapRessources(Context context)
	{
		String res[] = context.getResources().getStringArray(R.array.nomType);
		hash_ressource = new HashMap<String, InformationRessource>();
		// Ajout des ressources et leurs informations associées
		hash_ressource.put("acces_bus", new InformationRessource(res[0], R.drawable.acces_bus));
		hash_ressource.put("acces_handicap", new InformationRessource(res[1], R.drawable.acces_handicap));
		hash_ressource.put("acces_tram", new InformationRessource(res[2], R.drawable.acces_tram));
		hash_ressource.put("accueil", new InformationRessource(res[3], R.drawable.accueil));
		hash_ressource.put("amphi", new InformationRessource(res[4], R.drawable.amphi));
		hash_ressource.put("ascenseur", new InformationRessource(res[5], R.drawable.ascenseur));
		hash_ressource.put("autre", new InformationRessource(res[6], R.drawable.autre));
		hash_ressource.put("batiment", new InformationRessource(res[7], R.drawable.batiment));
		hash_ressource.put("batiment_entree", new InformationRessource(res[8], R.drawable.batiment_entree));
		hash_ressource.put("bibliotheque", new InformationRessource(res[9], R.drawable.bibliotheque));
		hash_ressource.put("borne_maj", new InformationRessource(res[10], R.drawable.borne_maj));
		hash_ressource.put("borne_recharge", new InformationRessource(res[11], R.drawable.borne_recharge));
		hash_ressource.put("cafe", new InformationRessource(res[12], R.drawable.cafe));
		hash_ressource.put("campus", new InformationRessource(res[13], R.drawable.campus));
		hash_ressource.put("centre_sportif", new InformationRessource(res[14], R.drawable.centre_sportif));
		hash_ressource.put("cite_universitaire", new InformationRessource(res[15], R.drawable.cite_universitaire));
		hash_ressource.put("copieur", new InformationRessource(res[16], R.drawable.copieur));
		hash_ressource.put("distributeur", new InformationRessource(res[17], R.drawable.distributeur));
		hash_ressource.put("parc", new InformationRessource(res[18], R.drawable.parc));
		hash_ressource.put("parking_velos", new InformationRessource(res[19], R.drawable.parking_velos));
		hash_ressource.put("parking_voitures", new InformationRessource(res[20], R.drawable.parking_voitures));
		hash_ressource.put("restaurant_universitaire", new InformationRessource(res[21], R.drawable.restaurant_universitaire));
		hash_ressource.put("salle", new InformationRessource(res[22], R.drawable.salle));
		hash_ressource.put("salle_ressources_informatiques", new InformationRessource(res[23], R.drawable.salle_ressources_informatiques));
		hash_ressource.put("scolarite", new InformationRessource(res[24], R.drawable.scolarite));
		hash_ressource.put("spot_numerique", new InformationRessource(res[25], R.drawable.spot_numerique));
		hash_ressource.put("toilettes", new InformationRessource(res[26], R.drawable.toilettes));
		hash_ressource.put("vélhop", new InformationRessource(res[27], R.drawable.velhop));
	}
	
	// Méthode permettant de récupérer le nom affiché d'une ressource en particulier
	public static String getNom (String libelle)
	{
		return hash_ressource.get(libelle).getDisplay_name();
	}
	
	// Méthode permettant de renvoyer l'instance static de la hashmap instanciée
	public static HashMap<String, InformationRessource> getHashMap()
	{
		return hash_ressource;
	}
	
	// Méthode permettant de récupérer l'image associée d'une ressource en particulier
	public static int getDrawable (String libelle)
	{
		return hash_ressource.get(libelle).getId_drawable();
		
	}
}
